Skip to content

Синтаксис языка запросов

Общие положения

Запрос состоит из терминов и операторов. Термин — это одно слово (например, в запросе ветер усиливается термины — ветер и усиливается). Если несколько терминов заключены в двойные кавычки, они рассматриваются как одна фраза, в которой слова сопоставляются в порядке их появления (например, "ветер усиливается"). Операторы (такие как OR, AND и NOT) определяют логику, используемую для интерпретации текста в строке запроса.

Зарезервированные символы

Список зарезервированных (служебных) символов:

+, -, =, &&, ||, >, <, !, (, ), {, }, [, ], ^, ", ~, *, ?, :, \, /

Если необходимо найти зарезервированные символы, их необходимо экранировать с помощью обратной косой черты \.

Например, для поиска выражения 2*3 укажите строку запроса: 2\*3.

Внимание

Символы > и < не могут быть экранированы, они всегда воспринимаются как служебные.

Подстановочные знаки

Подстановочные знаки:

  • ? — заменяет один символ
  • * — заменяет ноль или более символов

Например, с помощью запроса терминология AND онто* можно найти результаты, содержащие слово терминология и слово, начинающееся с онто.

Осторожно

Запросы с подстановочными знаками могут использовать значительный объем серверной памяти, что может снизить производительность поиска. Подстановочные знаки в начале слова (например, *гия) являются самыми "дорогими", поскольку сопоставление результатов по таким подстановочным знакам требует проверки всех терминов в поисковом индексе.

Булевы операторы

По умолчанию поиск возвращает результаты, содержащие как минимум один из указанных в поисковом запросе терминов. Используя булевы операторы можно переопределить это поведение.

Операторы + и -

Оператор + делает термин, следующий за ним, обязательным, а оператор - исключает термин, следующий за ним.

Например, в строке запроса +терминология онтология -bfo указано:

  • термин терминология должен присутствовать в результатах
  • термин онтология является необязательным
  • термин bfo не должен присутствовать в результатах

Обычные булевы операторы

Булевы операторы:

  • AND, && — оператор И
  • OR, || — оператор ИЛИ
  • NOT, ! — оператор инверсии

Используйте круглые скобки для задания приоритета при использовании нескольких булевых операторов. Например, запрос +терминология онтология -bfo можно переписать следующим образом с помощью булевых операторов:

((терминология AND онтология) OR терминология) AND NOT bfo